package lxj;


import java.util.Arrays;
import java.util.Comparator;
import java.util.Objects;



/*  java.util.Arrays
*此类包含用来操作数组（比如排序和搜索）的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。
*
* java.util
接口 Comparator<T>
类型参数：
T - 此 Comparator 可以比较的对象类型
*/
public class Demo01 {

    public static void main(String[] args) {
        Person [] arr={
                new Person("迪丽热巴",38),
                new Person("刘岩",18),
                new Person("古力拉扎",19)

        };


        Arrays.sort(arr, new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {

              //  return o1.getAge()-o2.getAge();                           //按年龄升序
                return o1.getName().length()-o2.getName().length();        //按姓名长度升序
            }
        });

        for (Person person : arr) {
            System.out.println(person);
        }

    }

}
class Person   {
    String name;
    int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }





    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

